第1章:Python基础语法

从零开始学习Python的基本概念和语法规则,为后续学习打下坚实基础

适合零基础 AI时代学习路径 互动学习

1.1 Python简介与环境搭建

Python是一种简单易学、功能强大的编程语言,它被广泛应用于Web开发、数据分析、人工智能、科学计算等领域。Python的设计哲学强调代码的可读性和简洁性,使得它成为初学者的理想选择。

Python在AI时代的重要性

在AI技术快速发展的今天,Python已经成为人工智能领域的首选编程语言。以下是Python在AI时代的主要应用场景:

  • 机器学习:使用Scikit-learn、TensorFlow、PyTorch等库构建和训练模型
  • 深度学习:开发神经网络和深度学习模型
  • 自然语言处理:处理和分析文本数据,开发聊天机器人和语言模型
  • 计算机视觉:图像识别、目标检测等视觉任务
  • 数据分析与可视化:处理和分析大量数据,生成直观的可视化结果

Python的特点

  • 简单易学:Python语法清晰简洁,代码可读性高,适合初学者
  • 功能强大:拥有丰富的标准库和第三方库,可用于各种领域的开发
  • 跨平台:可以在Windows、Mac、Linux等多种操作系统上运行
  • 面向对象:支持面向对象编程,也支持过程式编程
  • 解释型:无需编译,直接运行,开发效率高
  • AI友好:拥有丰富的AI相关库和工具,是AI开发的首选语言

环境搭建步骤

要开始学习Python,首先需要在你的电脑上安装Python环境。以下是详细的安装步骤:

步骤1:下载Python安装包

访问Python官方网站 https://www.python.org/,在首页找到"Downloads"部分,选择适合你操作系统的Python版本(建议选择最新的稳定版)。

步骤2:安装Python

  • Windows系统:运行下载的安装程序,记得勾选"Add Python to PATH"选项,然后点击"Install Now"。
  • Mac系统:运行下载的.pkg文件,按照提示完成安装。
  • Linux系统:大多数Linux发行版已经预装了Python,可以通过终端运行 python3 --version 检查版本。如果需要安装或更新,可以使用包管理器(如apt、yum等)。

步骤3:验证安装

安装完成后,打开命令提示符(Windows)或终端(Mac/Linux),输入以下命令验证Python是否安装成功:

python --version  # Windows系统
python3 --version  # Mac/Linux系统

如果显示Python的版本号,说明安装成功!

步骤4:安装代码编辑器

虽然可以使用系统自带的文本编辑器编写Python代码,但推荐使用专门的代码编辑器,如:

  • Visual Studio Code:免费、轻量、功能强大,支持多种编程语言
  • PyCharm:专为Python开发设计的IDE,有社区版(免费)和专业版
  • Sublime Text:轻量、快速的文本编辑器

AI辅助工具推荐

在AI时代,我们可以利用以下工具来提高学习效率:

  • GitHub Copilot:AI代码助手,提供代码建议和自动补全
  • ChatGPT:可以帮助解答编程问题,提供代码示例
  • Cursor:基于AI的代码编辑器,提供智能代码建议
  • Replit:在线编程环境,支持协作和AI辅助

💡 小贴士

对于初学者,推荐使用Visual Studio Code,它不仅免费,而且有丰富的扩展插件,可以提供代码补全、语法高亮等功能,大大提高编程效率。同时,可以安装GitHub Copilot扩展来获得AI辅助编程能力。

🔍 练习

1. 安装Python并验证安装成功

2. 安装Visual Studio Code并配置Python环境

3. 尝试使用AI辅助工具(如ChatGPT)解答一个简单的Python问题

1.2 变量和数据类型

在Python中,变量是用来存储数据的容器。与其他编程语言不同,Python不需要声明变量的类型,它会根据你赋给变量的值自动推断类型。

变量的定义

在Python中,定义变量非常简单,只需要给变量起一个名字,然后用等号(=)赋值即可:

# 定义变量
name = "Alice"  # 字符串变量
age = 25  # 整数变量
height = 1.65  # 浮点数变量
is_student = True  # 布尔变量

变量命名规则:

  • 变量名只能包含字母、数字和下划线
  • 变量名不能以数字开头
  • 变量名区分大小写
  • 不能使用Python的关键字作为变量名(如if、else、for等)
  • 建议使用有意义的变量名,以便于理解代码

常见数据类型

Python中有几种基本的数据类型:

1. 整数(int)

用于表示整数,如:

age = 25
number = -10
large_number = 1000000
# Python支持大整数,没有大小限制
huge_number = 10 ** 100  # 10的100次方

2. 浮点数(float)

用于表示小数,如:

height = 1.65
temperature = 37.5
pi = 3.14159
# 科学记数法
科学计数 = 1.23e-4  # 等于0.000123

3. 字符串(str)

用于表示文本,用单引号或双引号包围,如:

name = "Alice"
greeting = 'Hello, world!' 
multiline = """这是一个
多行字符串"""
# 字符串拼接
full_name = "张" + "三"
# 字符串格式化
message = f"你好,{name}!你今年{age}岁。"

4. 布尔值(bool)

用于表示真或假,只有两个值:True和False,如:

is_student = True
is_teacher = False
# 布尔值可以通过比较操作得到
is_adult = age >= 18  # 结果为True

类型转换

在Python中,可以使用内置函数进行类型转换:

# 转换为整数
num_str = "123"
num_int = int(num_str)
print(num_int)  # 输出: 123

# 转换为浮点数
num_int = 123
num_float = float(num_int)
print(num_float)  # 输出: 123.0

# 转换为字符串
num = 123
num_str = str(num)
print(num_str)  # 输出: "123"

# 布尔值转换
print(bool(0))  # 输出: False
print(bool(1))  # 输出: True
print(bool(""))  # 输出: False
print(bool("hello"))  # 输出: True

AI时代的变量命名建议

在AI时代,良好的变量命名不仅有助于代码可读性,也有助于AI工具理解你的代码:

  • 使用描述性的变量名,如 user_age 而不是 ua
  • 遵循一致的命名风格,如蛇形命名法(snake_case)
  • 对于AI相关变量,使用明确的命名,如 model_accuracytraining_loss
  • 避免使用单个字母作为变量名(除了循环变量)

💡 小贴士

在使用AI辅助工具(如GitHub Copilot)时,良好的变量命名可以帮助AI更好地理解你的代码意图,从而提供更准确的代码建议。

🔍 练习

1. 定义三个变量:姓名(字符串)、年龄(整数)、身高(浮点数),并输出这些变量的值。

2. 将一个整数转换为字符串,将一个字符串转换为浮点数,然后输出结果。

3. 使用f-string格式化输出:"我的名字是XXX,今年XX岁,身高XX米。"

4. 尝试使用AI辅助工具(如ChatGPT)生成一个变量命名的最佳实践指南。

1.3 运算符和表达式

运算符是用于执行操作的特殊符号,表达式是由运算符和操作数组成的式子。Python支持多种类型的运算符:

算术运算符

用于执行基本的数学运算:

运算符 描述 示例
+ 加法 2 + 3 = 5
- 减法 5 - 2 = 3
* 乘法 2 * 3 = 6
/ 除法 6 / 2 = 3.0
// 整除 7 // 2 = 3
% 取模 7 % 2 = 1
** 幂运算 2 ** 3 = 8

比较运算符

用于比较两个值:

运算符 描述 示例
== 等于 2 == 2 → True
!= 不等于 2 != 3 → True
> 大于 3 > 2 → True
< 小于 2 < 3 → True
>= 大于等于 3 >= 3 → True
<= 小于等于 2 <= 3 → True

逻辑运算符

用于组合条件:

运算符 描述 示例
and 与运算 True and False → False
or 或运算 True or False → True
not 非运算 not True → False

赋值运算符

用于给变量赋值:

# 基本赋值
x = 5

# 复合赋值
x += 3  # 等同于 x = x + 3
x -= 2  # 等同于 x = x - 2
x *= 4  # 等同于 x = x * 4
x /= 2  # 等同于 x = x / 2

🔍 练习

1. 计算并输出 10 + 5 * 3 - 8 / 2 的结果。

2. 使用比较运算符比较 10 和 5 的大小,并输出结果。

3. 使用逻辑运算符判断 5 > 3 and 10 < 20 的结果,并输出。

1.4 控制流程(条件语句和循环)

控制流程语句用于控制程序的执行顺序,包括条件语句和循环语句。

条件语句

条件语句用于根据条件执行不同的代码块。Python中使用 ifelifelse 关键字:

if 条件1:
    # 条件1为真时执行的代码
    代码块1
elif 条件2:
    # 条件1为假,条件2为真时执行的代码
    代码块2
else:
    # 所有条件都为假时执行的代码
    代码块3

示例:

age = 18

if age < 18:
    print("未成年")
elif age >= 18 and age < 60:
    print("成年人")
else:
    print("老年人")

循环语句

循环语句用于重复执行代码块。Python中有两种循环:for 循环和 while 循环。

1. for 循环

用于遍历序列(如列表、元组、字符串)中的元素:

for 变量 in 序列:
    # 对序列中的每个元素执行的代码
    代码块

示例:

# 遍历列表
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
    print(fruit)

# 遍历字符串 
word = "Python"
for letter in word:
    print(letter)

# 使用 range() 函数
for i in range(5):
    print(i)  # 输出: 0, 1, 2, 3, 4

2. while 循环

只要条件为真,就重复执行代码块:

while 条件:
    # 条件为真时执行的代码
    代码块

示例:

count = 0
while count < 5:
    print(count)
    count += 1  # 不要忘记更新计数器,否则会进入无限循环

循环控制语句

Python提供了两个循环控制语句:

1. break 语句

用于跳出当前循环:

for i in range(10):
    if i == 5:
        break  # 当i等于5时跳出循环
    print(i)  # 输出: 0, 1, 2, 3, 4

2. continue 语句

用于跳过当前循环的剩余部分,继续下一次循环:

for i in range(10):
    if i % 2 == 0:
        continue  # 跳过偶数
    print(i)  # 输出: 1, 3, 5, 7, 9

🔍 练习

1. 使用 if-elif-else 语句判断一个数字是正数、负数还是零。

2. 使用 for 循环计算 1 到 100 的和。

3. 使用 while 循环输出 10 到 1 的数字。

1.5 输入输出操作

在Python中,我们可以使用 print() 函数输出信息,使用 input() 函数获取用户输入。

输出操作

print() 函数用于将信息输出到控制台:

# 输出字符串
print("Hello, world!")

# 输出变量
name = "Alice"
print(name)

# 输出多个值
age = 25
print("Name:", name, "Age:", age)

# 使用格式化字符串
print(f"Name: {name}, Age: {age}")  # Python 3.6+
print("Name: {}, Age: {}".format(name, age))  # 兼容所有版本

输入操作

input() 函数用于获取用户从键盘输入的信息:

# 获取字符串输入
name = input("请输入你的名字:")
print(f"你好,{name}!")

# 获取数字输入(需要类型转换)
age = int(input("请输入你的年龄:"))
print(f"你今年{age}岁。")

💡 小贴士

input() 函数总是返回字符串类型,如果需要数字,必须使用 int()float() 进行类型转换。

格式化输出

Python提供了多种格式化输出的方式:

# 1. 格式化字符串(f-string,Python 3.6+)
x = 10
y = 3
print(f"{x} + {y} = {x + y}")
print(f"{x} / {y} = {x / y:.2f}")  # 保留两位小数

# 2. format() 方法
print("{} + {} = {}".format(x, y, x + y))
print("{} / {} = {:.2f}".format(x, y, x / y))

# 3. 旧式格式化(不推荐)
print("%d + %d = %d" % (x, y, x + y))
print("%d / %d = %.2f" % (x, y, x / y))

🔍 练习

1. 编写一个程序,输入你的名字和年龄,然后输出 "你好,XXX!你今年XX岁。"。

2. 编写一个程序,输入两个数字,计算它们的和、差、积、商,并格式化输出结果。

实操训练

就绪